ci: Fix Spring Boot matrix version updates#5372
Merged
Merged
Conversation
📲 Install BuildsAndroid
|
Contributor
Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| a5ab36f | 316.83 ms | 394.54 ms | 77.71 ms |
| e63ad34 | 336.55 ms | 406.79 ms | 70.23 ms |
| ad8da22 | 362.98 ms | 453.94 ms | 90.96 ms |
| 70118e9 | 380.00 ms | 475.72 ms | 95.72 ms |
| 2124a46 | 319.19 ms | 415.04 ms | 95.85 ms |
| b3d8889 | 371.84 ms | 447.49 ms | 75.65 ms |
| cf708bd | 434.73 ms | 502.96 ms | 68.22 ms |
| ab8a72d | 316.24 ms | 356.38 ms | 40.14 ms |
| d5a29b6 | 298.62 ms | 391.78 ms | 93.16 ms |
| d15471f | 379.40 ms | 470.76 ms | 91.36 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| a5ab36f | 1.58 MiB | 2.12 MiB | 555.26 KiB |
| e63ad34 | 0 B | 0 B | 0 B |
| ad8da22 | 1.58 MiB | 2.29 MiB | 719.83 KiB |
| 70118e9 | 1.58 MiB | 2.29 MiB | 719.84 KiB |
| 2124a46 | 1.58 MiB | 2.12 MiB | 551.51 KiB |
| b3d8889 | 1.58 MiB | 2.10 MiB | 535.07 KiB |
| cf708bd | 1.58 MiB | 2.11 MiB | 539.71 KiB |
| ab8a72d | 1.58 MiB | 2.12 MiB | 551.55 KiB |
| d5a29b6 | 1.58 MiB | 2.12 MiB | 549.37 KiB |
| d15471f | 1.58 MiB | 2.13 MiB | 559.54 KiB |
Previous results on branch: ci/fix-spring-boot-matrix-version-sed
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| e8826d8 | 331.94 ms | 394.48 ms | 62.54 ms |
| e235cc1 | 397.46 ms | 477.04 ms | 79.58 ms |
| 505b017 | 322.64 ms | 374.07 ms | 51.43 ms |
| 7092449 | 316.43 ms | 352.15 ms | 35.72 ms |
| 741c273 | 287.21 ms | 372.79 ms | 85.58 ms |
| a4c9a7d | 475.96 ms | 557.86 ms | 81.90 ms |
| da499be | 312.21 ms | 351.30 ms | 39.09 ms |
| 4c74ba4 | 308.60 ms | 360.84 ms | 52.23 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| e8826d8 | 0 B | 0 B | 0 B |
| e235cc1 | 0 B | 0 B | 0 B |
| 505b017 | 0 B | 0 B | 0 B |
| 7092449 | 0 B | 0 B | 0 B |
| 741c273 | 0 B | 0 B | 0 B |
| a4c9a7d | 0 B | 0 B | 0 B |
| da499be | 0 B | 0 B | 0 B |
| 4c74ba4 | 0 B | 0 B | 0 B |
Match the TOML version catalog format when overriding Spring Boot versions in matrix jobs. Preserve whitespace around the assignment and replace the quoted version value so the CI jobs actually test the requested matrix version. Co-Authored-By: Claude <noreply@anthropic.com>
The matrix jobs now actually update the version catalog. Remove Spring Boot versions that the current sample setup cannot build with the repository's Spring GraphQL integrations and Gradle version. Co-Authored-By: Claude <noreply@anthropic.com>
Expand the Spring Boot 2 and 3 CI matrices to cover supported minor versions. Exclude GraphQL from Spring Boot 2 versions before 2.7 because the starter is unavailable there. Keep the Spring Boot 3 Gradle plugin pinned to a Gradle-compatible version while importing the tested Spring Boot BOM in samples, so the matrix exercises the intended runtime dependencies. Co-Authored-By: Claude <noreply@anthropic.com>
Remove the explicit elastic scheduler from the Spring Boot WebFlux sample. Mono.delay already schedules the delayed work, and using Schedulers.elastic triggers deprecation warnings that fail CI under -Werror. Co-Authored-By: Claude <noreply@anthropic.com>
Spring Kafka sample support depends on newer Spring Boot 2 dependency management. Exclude Kafka sources, profile startup, and system tests when the matrix runs Boot 2 versions before 2.7. Keep the system test classpath aligned with the SDK test helpers by importing the OkHttp and Jackson BOMs after the tested Spring Boot BOMs. Co-Authored-By: Claude <noreply@anthropic.com>
1b25f8f to
87b8bc3
Compare
Spring Boot 2.1 and 2.2 use Reactor versions without Mono.doFirst or Schedulers.onScheduleHook. Avoid those calls in the Boot 2 WebFlux integration so old matrix jobs can start and serve requests. Co-Authored-By: Claude <noreply@anthropic.com>
Spring Boot 2.1 and 2.2 cannot parse newer OpenTelemetry auto-configuration classes during startup. Keep the matrix coverage for supported samples and skip the no-agent OTel sample for those versions. Co-Authored-By: Claude <noreply@anthropic.com>
Remove Spring Boot 2.1 and 2.2 from the matrix instead of carrying WebFlux compatibility changes for their older Reactor and Spring APIs. Restore the WebFlux filter implementation now that those versions are no longer tested. Co-Authored-By: Claude <noreply@anthropic.com>
Revert the compatibility guard for Reactor versions that are no longer covered by the Spring Boot matrix. Co-Authored-By: Claude <noreply@anthropic.com>
Use the erased Consumer signature in the batch loader registry wrapper so the code compiles with both Spring GraphQL 1.2/1.3 and 1.4. Let the Spring Boot 3 Gradle plugin follow the tested matrix version instead of pinning it separately. Co-Authored-By: Claude <noreply@anthropic.com>
alexander-alderman-webb
approved these changes
May 19, 2026
runningcode
reviewed
May 19, 2026
runningcode
reviewed
May 19, 2026
runningcode
reviewed
May 19, 2026
runningcode
reviewed
May 19, 2026
runningcode
reviewed
May 19, 2026
runningcode
reviewed
May 19, 2026
runningcode
reviewed
May 19, 2026
Gradle already includes src/test/java in the test source set by default. Remove explicit duplicate source set configuration from the Spring modules and samples touched by this PR. Co-Authored-By: Claude <noreply@anthropic.com>
Use the JvmTarget import in Spring Gradle scripts touched by this PR instead of repeating the fully qualified class name. Co-Authored-By: Claude <noreply@anthropic.com>
Use a replacement command that exits non-zero when the expected Spring Boot version entry is not found. This prevents matrix jobs from silently running against the wrong dependency version. Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 45bda6e. Configure here.
runningcode
approved these changes
May 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

📜 Description
Fix the Spring Boot 2.x, 3.x, and 4.x matrix workflows so their version override matches the TOML version catalog format.
The workflows now preserve whitespace around the assignment and replace the quoted Spring Boot version value in
gradle/libs.versions.toml.💡 Motivation and Context
The existing
sedexpressions looked for keys without spaces around=, but the version catalog uses entries likespringboot2 = "2.7.18". As a result, matrix jobs did not actually update the Spring Boot version under test.💚 How did you test it?
sedexpressions against a temporary copy ofgradle/libs.versions.tomland verified Spring Boot 2, 3, and 4 versions were updated../gradlew spotlessApply apiDump.📝 Checklist
sendDefaultPIIis enabled.🔮 Next steps
#skip-changelog